package cn.newstrength.liguowei.step;

import cn.newstrength.wtdf.web.databus.DataContext;
import cn.newstrength.wtdf.web.exception.PAIException;
import cn.newstrength.wtdf.web.processor.Operation;
import cn.newstrength.wtdf.web.processor.OperationStep;
import org.springframework.context.i18n.LocaleContextHolder;

import java.util.Locale;
import java.util.Map;

import static cn.newstrength.wtdf.plugin.util.SpringUtils.getMessage;

/**
 * 国际化 Sample
 * @author Xd
 *
 */
public class MessageStep implements OperationStep {

	@Override
	public int excute(Operation oper) throws PAIException {
		/*
		 * 获取数据总线
		 */
		DataContext dc = oper.getContext();
		String lang = oper.getParameter("lang");
		/*
		 * 这里可灵活使用，比如将用户选择的语言放到Redis中，可实现语言的切换
		 */
		if("en".equals(lang)){//
			LocaleContextHolder.setLocale(Locale.ENGLISH);
		}
		/*
		 * 根据 hello.world key 获取
		 */
		String message = getMessage("hello.world");
		/*
		 * 输出 Hello World
		 */
		dc.setTranStepResult(message);
		/*
		 * 返回
		 */
		return 0;
	}

	@Override
	public int init(Map<String, String> arg0) {
		return 0;
	}

}
